package auser;

import com.db4o.config.annotations.Indexed;

public class PianoDeiConti extends AuserClassAbstract {
	 
	private Circolo circolo;
	private String descrizione;
	 
	private String codice="0.0.0.0";
	 
	private String l1="0";
	 
	private String l2="0";
	 
	private String l3="0";
	  
	private String l4="0";
	 
	private Integer livello=0;
	 
	private String tipo;
	 
	private PianoDeiConti voceCorrelata;
	
	public PianoDeiConti(){}
	public PianoDeiConti(String codice){
		this.codice=codice;
	}
	public PianoDeiConti(String descrizione,String l1,String l2,String l3,String l4,String tipo,Circolo circolo){
		this();
		setCircolo(circolo);
		setL1(l1);
		setL2(l2);
		setL3(l3);
		setL4(l4);
		setDescrizione(descrizione);
		setTipo(tipo);
	}
	public Circolo getCircolo() {
		return circolo;
	}
	public void setCircolo(Circolo circolo) {
		this.circolo = circolo;
	}
	public String getCodice() {
		return codice;
	}
	public void setCodice(String codice) {
		//this.codice = codice;
	}
	public String getDescrizione() {
		return descrizione;
	}
	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}
	
	private void preaparaCodice(){
		this.codice=getL1()+ "." + getL2() + "." + getL3() + "." + getL4();
		int tmpLivello = 0;
		
		if(!getL1().equals("0")) tmpLivello++;
		if(!getL2().equals("0")) tmpLivello++;
		if(!getL3().equals("0")) tmpLivello++;
		if(!getL4().equals("0")) tmpLivello++;
		
		this.livello = tmpLivello;
	}
	public String getL1() {
		return l1;
	}
	public void setL1(String l1) {
		if(l1==null || l1.length()<=0) l1="0";
		this.l1 = l1;
		preaparaCodice();
	}
	public String getL2() { 
		return l2;
	}
	public void setL2(String l2) {
		if(l2==null || l2.length()<=0) l2="0";
		this.l2 = l2;
		preaparaCodice();
	}
	public String getL3() {
		return l3;
	}
	public void setL3(String l3) {
		if(l3==null || l3.length()<=0) l3="0";	
		this.l3 = l3;
		preaparaCodice();
	}
	public String getL4() {
		return l4;
	}
	public void setL4(String l4) {
		if(l4==null || l4.length()<=0) l4="0";
		this.l4 = l4;
		preaparaCodice();
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public PianoDeiConti getVoceCorrelata() {
		return voceCorrelata;
	}
	public void setVoceCorrelata(PianoDeiConti voceCorrelata) {
		this.voceCorrelata = voceCorrelata;
	}
	public Integer getLivello() {
		return livello;
	}
	
	public void setLivello(Integer livello) {
		//this.livello = livello;
	}
	
}
